<?php
/**
 * 库存量变化日志表兼特殊库存出入库表，扫描进库的、库存增减数量的、库存修改涉及到数量的=》实际库存和理论库存都会改变
 * String id
 * String sku
 * String title【产品名称】
 * String info【产品内容尺码和数量】
 * String addtime【时间】
 * String adduser【操作人】
 * String isspecial【是否为特殊问题管理】
 * String dutyuser【责任人】
 * String checkuser【审核人】
 * String orderid【订单号】
 * String remark【事件原因】
 * String ischeck【状态：0待审核，1已通过，2已否决】
 */
class App_Model_StockNumlog extends App_Model_Abstract
{
	public function init()
	{
		parent::init();
		$this->table = App_Db_Table::factory('StockNumlog');
	}
	
	public function listAll($isspecial,$ischeck=false,$starttime,$endtime,$page=1,$limit=10)
	{
		$select = $this->table->select();
		$select->where('isspecial = ?',$isspecial);
		if($ischeck!==false&&$ischeck!=""){
			$select->where('ischeck = ?',$ischeck);
		}	
		if(!empty($starttime)){
			$select->where('addtime > ?',$starttime);
		}
		if(!empty($endtime)){
			$select->where('addtime < ?',$endtime);
		}
		$offset = ($page - 1) * $limit;
		$select->limit($limit,$offset);
		
		$select->order('addtime desc');
		return $this->table->fetchAll($select);
	}
	
	/**
	 * 审核
	 * @param int $id
	 * @param int $ischeck
	 */
	public function check($id,$ischeck,$checkuser){
		$db = $this->table->getAdapter();
		$where = $db->quoteInto('id = ?', $id);
		$row = array('ischeck'=>$ischeck,'checkuser'=>$checkuser);
		return $this->table->update($row, $where);
	}
	
	public function getStockNum($id){
		return $this->table->fetchRow(array('id = ?'=>$id));
	}
	
	public function add($row)
	{
		return $this->table->insert($row);
	}
	
	public function getTotalNum($isspecial,$ischeck=false,$starttime,$endtime)
	{
		$where="where 1 ";

		if(!($isspecial=='')){
			$where.=" and isspecial='$isspecial'";
		}
		if(!($ischeck=='')){
			$where.=" and ischeck='$ischeck'";
		}
		if(!empty($starttime)){
			$where.=" and addtime>='".$starttime."'";
		}
		if(!empty($endtime)){
			$where.=" and addtime<='".$endtime."'";
		}
		return $this->table->getAdapter()->fetchOne("select count(*) from stock_numlog ".$where);
	}
}